#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    if(n%3==0)cout<<n/3;
    else cout<<n/3+1;
    return 0;
}
/*
#include<iostream>
#include<string>
using namespace std;
int main(){
    string str;cin>>str;
    int s=0,n=str.length();
    for(int i=0;i<n;i++){
        if((str[i]-'0')%2)
            s++;
    }
    cout<<s<<endl;
    return 0;
}
*/
/*
#include<iostream>
using namespace std;
int num[1000];
int Max=99999;
int Min=0;
int main(){
    int a=0,b=0,n;
    cin>>n;
    for(int i=0;i<n;i++)
    cin>>num[i];
    for(int i=1;i<n-1;i++)
        if(num[i]>num[i-1]&&num[i]>num[i+1])
            Max=min(Max,num[i]);
        else if(num[i]<num[i-1]&&num[i]<num[i+1])
            Min=max(Min,num[i]);
    cout<<Min<<" "<<Max;
    return 0;
}
*/
/*
#include<iostream>
#include<cmath>
using namespace std;
char arr[100][100];
int M,N;
int funf(int i,int j,char ch,int n){
    if(i<0||j<0)return n;
    if(arr[i][j]==ch){
        n++;
        return funf(i-1,j-1,ch,n);
    }else return n;
}
int funr(int i,int j,char ch,int n){
    if(i<0||j>=N)return n;
    if(arr[i][j]==ch){
        n++;
        return funr(i-1,j+1,ch,n);
    }else return n;
}
int fund(int i,int j,char ch,int n){
    if(i>M)return n;
    if(arr[i][j]==ch){
        n++;
        return fund(i+1,j,ch,n);
    }else return n;
}
int fun(int i,int j){
    int a=funf(i-1,j-1,arr[i][j],0);
    int b=funr(i-1,j+1,arr[i][j],0);
    int c=fund(i+1,j,arr[i][j],0);
    return min(a,min(b,c));
}
int main(){
    int Max=0;
    cin>>M>>N;
    for(int i=0;i<M;i++)
        for(int j=0;j<N;j++)
            cin>>arr[i][j];
    for(int i=1;i<M-1;i++)
        for(int j=1;j<N-1;j++)
            Max=max(Max,fun(i,j));
    cout<<Max;
    return 0;
}
*/
// #include<iostream>
// using namespace std;
// typedef unsigned long long ull;
// ull num[3];
// ull fun(int n){
//     if(n>=num[2])return fun(n-num[0])+fun(n-num[1])+fun(n-num[2]);
//     else if(n>=num[1])return fun(n-num[0])+fun(n-num[1]);
//     else if(n>num[0])return fun(n-num[0])+1;
//     else if(n==num[0])return 1;
//     else return 0;
// }
// int main(){
//     int n;
//     cin>>n>>num[0]>>num[1]>>num[2];
//     for(int i=0;i<3;i++)
//         for(int j=i+1;j<3;j++)
//             if(num[i]<num[j])
//                 swap(num[i],num[j]);
//     // cout<<num[0]<<" "<<num[1]<<" "<<num[2]<<endl;
//     cout<<fun(n);
// }
